home *** CD-ROM | disk | FTP | other *** search
/ System Booster / System Booster.iso / SYS / s / Empty.wrx < prev    next >
Text File  |  1996-09-26  |  3KB  |  137 lines

  1. /*
  2.  * WRITE V3.520 © 1991-1994 by Tim Teulings
  3.  *
  4.  * Dieses Script beinhaltet einige Beispiele für die richtige Ansteuerung
  5.  * von WRITE mittels AREXX.
  6.  *
  7.  */
  8.  
  9. say "Dieses Script tut nichts !"
  10. EXIT
  11.  
  12. /*
  13.  * Hier wird nachgeschaut, ob WRITE bereits gestartet worden ist.
  14.  * Wenn nicht wird ENV:WRITE ausgelesen und WRITE gestartet.
  15.  */
  16.  
  17. IF ~show('P',"WRITE")
  18. THEN DO
  19.   IF Open(File,"ENV:WRITE",r) THEN DO
  20.     WRITEPATH = READLN(File)
  21.     Close(File)
  22.  
  23.     ADDRESS "COMMAND"
  24.     "run >NIL: <NIL: " || WRITEPATH
  25.     "SYS:REXXC/WaitForPort <NIL: >NIL: WRITE"
  26.   END
  27.   ELSE DO
  28.     say "Kann WRITE nicht finden !"
  29.   END
  30. END
  31.  
  32. /* Addrssieren des AREXX-Ports */
  33.  
  34. if ~show('P',"WRITE") then
  35. do
  36.   say "Dieses Skrpit arbeitet nicht ohne dem Texteditor WRITE !"
  37.   exit 0
  38. end
  39.  
  40. ADDRESS "WRITE"
  41.  
  42. OPTIONS RESULTS
  43. SIGNAL ON SYNTAX /* Abfangen von Syntaxfehlern */
  44.  
  45. /**********************************/
  46. /* Kontrolle ob Script kompatibel */
  47. /**********************************/
  48.  
  49. 'VERSIONCHECK 3848 "Empty.wrx"'
  50. IF RC~=0 THEN DO
  51.   exit 10
  52. END
  53.  
  54. /*******************************/
  55. /* Öffnen eines neuen Fensters */
  56. /*******************************/
  57.  
  58.  
  59. 'NEWED ""'
  60. ID = RESULT
  61. OPENPORT ID
  62. Port = RESULT
  63. IF Port = ""
  64. THEN DO
  65.   "MESSAGEOK (REXX-script 'open.wrx' :\nSorry, no more private ports!)"
  66.   EXIT
  67. END
  68.  
  69. /* Ansprechen des privaten Ports dieses neuen Fensters */
  70.  
  71. INTERPRET ADDRESS Port
  72.  
  73. "WINDOW 0 0 0 0"
  74.  
  75.  
  76. /********************************************************/
  77. /* Alternative : Locken des aktuellen, aktiven Fensters */
  78. /********************************************************/
  79.  
  80.  
  81. 'GETVAR "_CurrentID"'
  82. ID = RESULT           /* GETVAR gibt den ID des aktuellen Fenster zurück,  */
  83.                       /* der von den weiteren Befehlen benötigt wird.      */
  84.  
  85. IF ID=0 THEN DO
  86.   MESSAGEOK (Kein Fenster aktiviert !)
  87.   EXIT
  88. END
  89.  
  90. OPENPORT ID           /* PrivatePort des aktuellen Fensters öffnen        */
  91. Port = RESULT
  92.  
  93. IF Port="" THEN DO    /* 'OPENPORT' gibt "" zurück, wenn Port nicht       */
  94.                       /* geöffnet werden konnte                           */
  95.  
  96.   LOCKWINDOW ID
  97. END
  98. ELSE DO
  99.   INTERPRET ADDRESS Port  /* PrivatePort addressieren.Alle Komandos beziehen */
  100.                           /* sich nun auf das Fenster mit diesem Port        */
  101. END
  102.  
  103.  
  104. /*********************************************/
  105. /* Hier folgt das eigendliche AREXX-Programm */
  106. /*********************************************/
  107.  
  108. /* Schließen des Ports/Unlocken des Fensters */
  109.  
  110. IF Port="" THEN DO
  111.   LOCKWINDOW 0
  112. END
  113. ELSE DO
  114.   CLOSEPORT ID
  115. END
  116.  
  117. EXIT
  118.  
  119.  
  120. /********/
  121. /* Ende */
  122. /********/
  123.  
  124.  
  125. SYNTAX:
  126.  
  127. SAY "Leider trat ein Fehler auf... Zeile : " SIGL ":" ERRORTEXT(RC)
  128.  
  129. IF Port="" THEN DO
  130.   LOCKWINDOW 0
  131. END
  132. ELSE DO
  133.   CLOSEPORT ID
  134. END
  135.  
  136. EXIT
  137.